/*
 * @Description: In User Settings Edit
 * @Author: your name
 * @Date: 2019-08-13 15:47:58
 * @LastEditTime: 2019-08-14 17:20:26
 * @LastEditors: Please set LastEditors
 */
const autoprefixer = require('autoprefixer');
const pxtorem = require('postcss-pxtorem');

module.exports = {
  outputDir: 'github',
  publicPath: './',
  assetsDir: 'static',
  productionSourceMap: false,//生产环境是否生成 sourceMap 文件，一般情况不建议打开
  css: {
    //启用 CSS modules
		modules: false,
		// 是否使用css分离插件
		extract: true,
    // 开启 CSS source maps，一般不建议开启
		sourceMap: false,
    loaderOptions: {
      postcss: {
        plugins: [
          autoprefixer(),
          pxtorem({
            rootValue: 37.5,
            propList: ['*'],
            // 该项仅在使用 Circle 组件时需要
            // 原因参见 https://github.com/youzan/vant/issues/1948
            selectorBlackList: ['van-circle__layer']
          })
        ]
      },
      // 自定义主题色
      less: {
        modifyVars: {
          // red: '#03a9f4',
          // blue: '#3eaf7c',
          // orange: '#f08d49',
          // 'text-color': '#111'
        }
      }
    }
  },
  // webpack配置
	//对内部的 webpack 配置进行更细粒度的修改 https://github.com/neutrinojs/webpack-chain see https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.md
  chainWebpack: config => {
		/**
		 * 删除懒加载模块的prefetch，降低带宽压力
		 * https://cli.vuejs.org/zh/guide/html-and-static-assets.html#prefetch
		 * 而且预渲染时生成的prefetch标签是modern版本的，低版本浏览器是不需要的
		 */
		//config.plugins.delete('prefetch');
		//if(process.env.NODE_ENV === 'production') { // 为生产环境修改配置...process.env.NODE_ENV !== 'development'
		//} else {// 为开发环境修改配置...
    //}
    // 修复HMR(热更新)失效
    // config.resolve.symlinks(true);
  },
  configureWebpack: () => {}, // CSS 相关选项
  devServer:{
    open:true,//自动开启
    disableHostCheck: true,
    //通过webpack来处理跨域问题
    proxy:{
      '/api': {
          // target: 'http://local.shop.com/index.php', // target host offline
          target: 'http://api.github.com/users', // target host online
          changeOrigin: true, // true为允许跨域needed for virtual hosted sites
          //proxy websockets 
          ws:false,
          pathRewrite: {
              '^/api': '' // rewrite path 
          }
      }
    },
    before: app => {
      /*   console.log("process.env.NODE_ENV",process.env.NODE_ENV);
        console.log("app",app); */
    }
  }
};
